#pragma once

#include "IGameSceneBank.h"
#include "IGameSceneFactory.h"
#include <iostream>

using namespace std;

class GameSceneBank : public IGameSceneBank
{
public:
	GameSceneBank(void);
	~GameSceneBank(void);

	virtual void addSceneFactory( string name, IGameSceneFactory* sceneFactory );

	virtual CCScene* getScene( string name );

	virtual CCScene* getNewScene( string name );

	static IGameSceneBank* sharedGameSceneBank();

private:
	static IGameSceneBank* _instance;

	map<string, IGameSceneFactory*> _listScenceFactory;
	map<string, CCScene*> _listScene;
	
};

